This invention relates to a method and apparatus for controlling the solenoid current of a solenoid valve which controls the amount of suction air in an internal combustion engine, and more particularly, to a method and apparatus for controlling the solenoid current of a solenoid valve which controls the amount of suction air in an internal combustion engine wherein the solenoid current is controlled for proportionally controlling the opening of a solenoid valve connected in a by-pass path which couples the upstream and downstream sides of a throttle valve provided in a suction air path.
Referring to FIG. 11, it has been previously proposed that in idling of an internal combustion engine 10, the engine continues to run while a throttle valve 11, provided in a suction air path of the engine, is held in a substantially closed condition. The amount of suction air of the internal combustion engine is controlled by a solenoid valve 12 provided in a by-pass path 13 between the upstream and downstream side of the throttle valve in order to control the rotational speed of the engine (idling rotating speed). Such an idling rotational speed controlling method is disclosed in detail, for example, in Japanese Patent Application No. 60-137445.
The idling rotational speed controlling method in Japanese Patent Application No. 60-137445 includes a step of first calculating a solenoid current control value Icmd by an equation (1), given below, in a central processor (CPU) 1 of a microprocessor 4 which further includes, as shown in FIG. 2, a storage unit or memory 2 and an input/output signal converting circuit or interface 3.
In order to calculate Icmd in the CPU 1, the interface 3 must be supplied with signals from various sensors suitably located in the engine (not shown). This is well known in the art. EQU Icmd=[Ifb(n)+Ie+Ips+Iat+Iac].times.Kpad (1)
In equation (1), Ifb(n) is a feedback control term which is calculated in accordance with the flow chart of FIG. 3 which will be hereinafter described. Here, (n) indicates the present time value. The calculations of steps S41 to S46 of FIG. 3 are described as follows:
Step S41 . . . the value Me(n), which is the reciprocal of the engine rotational speed, is read.
Step S42 . . . a deviation .DELTA.Mef is calculated which is the difference between Me(n) thus read and Mrefo which is a reciprocal of a preset aimed idling rotational speed Nrefo.
Step S43 . . . a difference between Me(n) and a preceding time measured value Me for the same cylinder as Me(n) in the case of a six cylinder engine, Me(n-6), that is, a coefficient of variation .DELTA.Me of the period, is calculated.
Step S44 . . . an integration term Ii, a proportion term Ip, and a differentiation term Id are calculated in accordance with respective equations indicated in the block of FIG. 3 for the Step S44 using .DELTA.Me and .DELTA.Mef calculated above as well as an integration term control gain Kim, a proportion term control gain Kpm, and a differentiation term control gain Kdm. The control gains are obtained by recalling them from the memory 2 where they were stored in advance.
Step S45 . . . the integration term Ii obtained in the preceding Step S44 is added to Iai(n-1) to obtain Iai(n). Iai(n) obtained here is temporarily stored in the memory 2 so that this may be Iai(n-1) for the next cycle. However, when there is no value stored in the memory 2, some initial value of Iai may be stored in the memory 2 in advance to be read out therefrom as Iai(n-i).
Step S46 . . . Ip and Id calculated at Step S44 are added to Iai(n) calculated at Step S45 to obtain Ifb(n) which is defined as a feedback control term.
The terms in equation (1) other than Ifb(n) are defined as follows:
Ie . . . an addition correction term for adding a predetermined value in accordance with a load of an AC generator (ACG), that is, the field current of the ACG.
Ips . . . an addition correction term for adding a predetermined value when a pressure switch in a power steering hydraulic circuit is turned on.
Iat . . . an addition correction term for adding a predetermined value when the selector position of an automatic transmission AT is in the drive (D) range.
Iac . . . an addition correction term for adding a predetermined value when an air conditioner is operative.
Kpad . . . a multiplication correction term determined in accordance with the atmospheric pressure.
Icmd in equation (1) is calculated in response to TDC pulses produced by a known means when the piston of each cylinder is at an angle of 90.degree. before its top dead center.
Icmd calculated by equation (1) is further converted in the CPU 1, for example, into a duty ratio of pulse signals having a fixed period. The CPU 1 contains a periodic timer and a pulse signal high level time (pulse duration) timer which operates in a synchronized relationship so that pulse signals having a predetermined high level time or duration, are successively developed from the microprocessor 4 for each predetermined period. The pulse signals are applied to the base of a solenoid driving transistor 5. Consequently, the transistor 5 is driven to be turned on and off in response to the pulse signals.
Referring to FIG. 2, in response to the on state of the solenoid driving transistor 5, an electric current from battery 6 flows through a solenoid 7 and the transistor 5 to ground. Accordingly, the opening of a solenoid valve is controlled in accordance with the solenoid current, and an amount of suction air corresponding to the opening of the solenoid valve is supplied to the internal combustion engine to control the idling rotational speed.
Conventionally in a feedback control mode of the engine rotational speed, a determined value Ixref(n) is calculated by equation (2), below, and stored into the memory 2. EQU Ixref(n)=Iai(n).times.Ccrr/m+Ixref(n-1).times.(m-Ccrr)/m (2)
Iai(n) in equation (2) is a value calculated at Step S45 of FIG. 3 described above, and Ixref(n-1) indicates the value of the determined value Ixref for the preceding time period. Further, m and Ccrr are selected positive values, and m is selected greater than Ccrr.
The calculation of the value Ixref(n) is effected in response to a TDC pulse when predetermined requirements are met, such as, for example, a requirement that there is no external load such as an air conditioner, as is apparent from the above mentioned Japanese Patent Application No. 60-137445.
When the solenoid valve of the internal combustion engine turns from the feedback control mode to an open loop control mode which is effected during operation other than idling, a pulse signal is developed from the microprocessor 4 in response to Icmd which is equal to the determined value Ixref(n), and the current flowing through the solenoid 7 and hence the opening of the solenoid valve is held to a predetermined value corresponding to the determined value Ixref(n). This is because it is intended that the initial opening of the solenoid valve when the internal combustion engine switches from the open loop control mode back to the feedback control mode may approach as near as possible to the opening corresponding to Icmd in the feedback control mode so that the time before a stabilized normal control condition is reached may be shortened.
Icmd in the open loop control mode is calculated by the following equation (3), similar to equation (1) above, so that pulse signals corresponding to the Icmd thus calculated may be developed from the microprocessor 4. EQU Icmd=(Ixref+Ie+Ips+Iat+Iac).times.Kpad (3)
If Icmd is calculated in this manner and the solenoid current is determined in accordance with pulse signals corresponding to Icmd when the internal combustion engine switches from the open loop control mode back to the feedback control mode, the initial opening is reached in which an external load such as, for example, an air conditioner, is taken into consideration. This is desirable because the time required before an opening corresponding to Icmd for the feedback control mode is reached is further shortened.
The techniques described above, however, have the following drawbacks:
The resistance component of the solenoid 7 changes in response to a change in the temperature as is well known in the art. Because the solenoid valve having the solenoid 7 is commonly located near an engine body, it is readily influenced by the temperature of the engine. Accordingly, the resistance component of the solenoid 7 is readily changed.
If the resistance component of the solenoid 7 changes, a solenoid current corresponding to Icmd will not flow, and as a result, the opening of the solenoid valve which is expected by Icmd will not be attained. However, during feedback control, if a predetermined time elapses with feedback control of the engine rotational speed in accordance with FIG. 3 and equation (1), coincidence with an aimed idling rotation speed will be reached. However, the PID coefficient (control gain) of the feedback control term Ifb(n) is normally set to a small value with the stability during normal idling being taken into consideration. Accordingly, feedback control based on Ifb(n) is normally done slowly. Consequently, the techniques have a drawback in that when the resistance component of the solenoid 7 changes, a long period of time is required until the engine rotational speed reaches the aimed idling rotational speed after the feedback control has been started.
Further, the techniques have another drawback in that when there is a difference in temperature around the solenoid 7 between a point in time when the determined value Ixref is calculated, during feedback control, and another point in time when the determined value Ixref is used as an initial value for feedback control, or when the temperature around the solenoid 7 exhibits a change while the opening of the solenoid valve is under open loop control, the resistance of the solenoid 7 will change and thus, a desired opening of the solenoid valve, that is, the opening which is expected by Icmd, will not be reached.
A means which resolves such drawbacks as described above has been proposed by the present applicant (Japanese Patent Application No. P60-233355) which includes, in addition to a conventional engine rotational speed feedback control system, a current feedback control system for feeding back an actual electric current flowing through a solenoid 7 whereby a solenoid current control value calculated in the engine rotational speed feedback control system is corrected with a correction value calculated by the current feedback control system in a manner described below, and a signal, determined depending upon the thus corrected solenoid current control value, is applied to a solenoid current controlling means to control the solenoid current.
The corrected value is obtained by detecting an actual solenoid current, calculating a deviation of the actual solenoid current from the solenoid current control value, multiplying the deviation by a proportional term control gain to calculate a proportional term while multiplying the deviation by an integration term control gain and adding a preceding time integration term to the thus multiplied deviation to calculate an integration term, and then adding the integration term to the proportion term.
To describe the foregoing method in summary, even if, for example, the resistance of the solenoid 7 changes such that a condition occurs in which a solenoid current does not correspond to a solenoid current control value, control of the current feedback control system will result in a solenoid current corresponding to the solenoid current control value.
In the technique described above, wherein a current feedback control system is provided in addition to an engine rotational speed feedback control system, there are the following disadvantages:
Calculation of an integration term for calculating a correction term as described above includes multiplying a deviation by an integration term control gain and adding a preceding time integration term to the thus multiplied deviation. In this situation, generally the preceding time integration term when starting of current feedback control is set to 0. This is because upon starting the current feedback control, that is, when an ignition switch is turned on to start an engine, there is no preceding time integration term or value calculated. However, if the preceding time integration value is set to 0 as described above, the correction value may be different because the integration term is determined only depending upon a deviation of an actual electric current from a solenoid current control value which deviation is multiplied by the integration term control gain. Accordingly, when the ignition switch is turned on, the solenoid current which is determined depending upon a sum of the solenoid current control value and the correction value is very low and will gradually increase or decrease to a value corresponding to the solenoid current control value, as described above.
The speed of such change is determined from control gains of the integration and proportion terms described above, and the control gains are normally set to a small value in order to provide stability in the change in the solenoid current.
As is apparent from the foregoing description, when a current feedback control system is provided in addition to an engine rotational speed feedback control system for controlling the solenoid current, there is the disadvantage that it takes a relatively long time after the starting of the engine, before the value reaches a value corresponding to a corrected solenoid current control value. Hence the engine rotation speed will not rapidly rise to a predetermined rotational speed corresponding to the solenoid current control value.
In addition, due to a fact that there is a variance in characteristics among solenoid valves, another disadvantage is that there is a variation in time before a solenoid current reaches a value corresponding to a corrected solenoid current control value. This will cause a variation in time before the engine rotational speed rises to a predetermined rotational speed corresponding to the solenoid current instruction value.
Further, as described hereinabove, the solenoid valve provided in the by-pass path is used mainly for engine rotational speed control during idling operation. Thus, when the engine rotational speed of a car is higher than a predetermined rotational speed (for example, 4000 RPM or more), it is presumed that the car is running at a speed higher than a predetermined level and the opening of the throttle valve is controlled by operation of an accelerator by a driver. Control of the solenoid valve is thus unnecessary, and hence the solenoid current is zero.
However, if the solenoid current is reduced to zero in a running condition as described above, no output signal is developed from the current feedback control system. Accordingly, if, for example, the coil temperature of the solenoid changes and consequently the characteristic (resistance) of the coil changes, when control of the solenoid valve is resumed, control of the solenoid valve will be initiated with an opening of the valve different from the opening which is actually required. Since the control gain in the engine rotational speed feedback control system is normally set to a low value as described hereinabove, if control of the solenoid valve is initiated with an opening of the solenoid valve different from an actually required opening in this manner, a relatively long period of time will be required before the actual engine rotational speed reaches an aimed idling rotational speed.
Further, when the coil temperature changes as in a running condition as described above and then control of the solenoid valve is changed to the open loop control mode in accordance with the engine rotational speed, control will be initiated without an opening of the solenoid valve coincident with the required opening.